Concurrent Bug Patterns and How to Test Them
نویسندگان
چکیده
We present and categorize a taxonomy of concurrent bug patterns. We then use the taxonomy to create new timing heuristics for ConTest. Initial industrial experience indicates that these heuristics improve the bug finding ability of ConTest. We also show how concurrent bug patterns can be derived from concurrent design patterns. Further research is required to complete the concurrent bug taxonomy and formal experiments are needed to show that heurisitics derived from the taxonomy improve the bug finding ability of ConTest.
منابع مشابه
Defining a Catalog of Programming Anti-Patterns for Concurrent Java
Many programming languages, including Java, provide support for concurrency. Although concurrency has many benefits with respect to performance, concurrent software can be problematic to develop and test because of the many different thread interleavings. We propose a comprehensive set of concurrency programming anti-patterns that can be used by Java developers to aid in avoiding many of the kn...
متن کاملTypology Characteristics and Behavior Patterns of Elites and How to attract them to Organizations
Human capitals are part of a country’s wealth, and proper functioning of the society depends on the creativity of its elites and Human nature. Nowadays, managing the Elites and preventing their immigration has become one of the difficult issues faced by many organizations. In this research, a lot of effort has been put into finding out the typology of the behavior patterns of the elite using th...
متن کاملBounded-Interference Sequentialization for Testing Concurrent Programs
Testing concurrent programs is a challenging problem: (1) the tester has to come up with a set of input values that may trigger a bug, and (2) even with a bug-triggering input value, there may be a large number of interleavings that need to be explored. This paper proposes an approach for testing concurrent programs that explores both input and interleaving spaces in a systematic way. It is bas...
متن کاملMutation Operators for Concurrent Java (J2SE 5.0)1
The current version of Java (J2SE 5.0) provides a high level of support for concurreny in comparison to previous versions. For example, programmers using J2SE 5.0 can now achieve synchronization between concurrent threads using explicit locks, semaphores, barriers, latches, or exchangers. Furthermore, built-in concurrent data structures such as hash maps and queues, built-in thread pools, and a...
متن کاملTest Frameworks for Elusive Bug Testing
Elusive bugs can be particularly expensive because they often survive testing and are released in a deployed system. They are characterized as involving a combination of properties. One approach to their detection is bounded exhaustive testing (BET). This paper describes how to implement BET using a variation of JUnit, called BETUnit. The idea of a BET pattern is also introduced. BET patterns d...
متن کامل